package com.bingxue.edu.parent.model.resp;

import com.bingxue.edu.management.education.model.entity.Lesson;
import com.bingxue.edu.management.education.model.entity.LessonStudent;
import com.bingxue.edu.parent.model.entity.StudentLessonInfo;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.mybatisflex.annotation.RelationManyToOne;
import com.mybatisflex.annotation.TableRef;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @author panbo
 * @since 2024/9/19
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Schema(description = "学生排课信息")
@TableRef(Lesson.class)
public class StudentScheduleLessonResp extends StudentLessonInfo {

    @JsonIgnoreProperties(value = {
            "createUser",
            "updateUser",
            "createTime",
            "updateTime",
            "lessonPrice",
            "lessonHour",
            "remark"
    })
    private LessonStudent lessonStudent;

    @Schema(description = "班级名称")
    @RelationManyToOne(selfField = "classId", targetTable = "edu_class_info", targetField = "id", valueField = "name")
    private String className;

    @RelationManyToOne(selfField = "campusId", targetTable = "base_org", targetField = "id", valueField = "name")
    private String campusName;

    @RelationManyToOne(selfField = "classroomId", targetTable = "edu_classroom", targetField = "id", valueField = "name")
    private String classroomName;

    @RelationManyToOne(selfField = "leadTeacherId",  targetTable = "base_employee", targetField = "id", valueField = "name")
    private String leadTeacherName;

}
